package pl.wsb;

import com.j256.ormlite.android.apptools.OrmLiteBaseListActivity;
import com.j256.ormlite.dao.RuntimeExceptionDao;

import android.content.Intent;
import android.os.Bundle;
import android.view.View;
import android.widget.ListView;
import android.widget.SimpleAdapter;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;

import java.util.HashMap;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;

import android.util.Log;

import static pl.wsb.StaleWojewodztwa.WOJEWODZTWO_ID;
import static pl.wsb.StaleWojewodztwa.WOJEWODZTWO_NAZWA;

public class WojewodztwaLista extends OrmLiteBaseListActivity<DatabaseHelper> {

	ArrayList<HashMap<String,String>> lista = new ArrayList<HashMap<String,String>>();
	private SimpleAdapter wojewodztwoListAdapter;
	private List<Wojewodztwo> listaWojewodztwo;
	RuntimeExceptionDao<Wojewodztwo,Integer> wojewodztwoDao;
	
    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.wojewodztwo_lista);
        
        wojewodztwoDao = getHelper().getWojewodztwoDataDao();
        listaWojewodztwo = wojewodztwoDao.queryForAll();
        if (!listaWojewodztwo.isEmpty()) {
        	wojewodztwoListAdapter = new SimpleAdapter(this,lista,R.layout.item_wojewodztwo,new String[] {WOJEWODZTWO_ID,WOJEWODZTWO_NAZWA},new int[] {R.id.item_wojewodztwo_id,R.id.item_wojewodztwo_nazwa});
        	setListAdapter(wojewodztwoListAdapter);
        	itemMap();
        }
    }

	@Override
	protected void onRestart() {
		super.onRestart();
		lista.clear();
		wojewodztwoDao = getHelper().getWojewodztwoDataDao();
		listaWojewodztwo = wojewodztwoDao.queryForAll();
		wojewodztwoListAdapter = new SimpleAdapter(this,lista,R.layout.item_wojewodztwo,new String[] {WOJEWODZTWO_ID,WOJEWODZTWO_NAZWA},new int[] {R.id.item_wojewodztwo_id,R.id.item_wojewodztwo_nazwa});
		wojewodztwoListAdapter.notifyDataSetChanged();
		itemMap();
		Log.d("WojewodztwoLista:onRestart","Restart");
	}
  
    
	@Override
	public boolean onCreateOptionsMenu(Menu menu) {
		super.onCreateOptionsMenu(menu);
		MenuInflater wypelniacz = getMenuInflater();
		wypelniacz.inflate(R.menu.wojewodztwo, menu);
		return true;
	}

	@Override
	public boolean onOptionsItemSelected(MenuItem item) {
		switch(item.getItemId()) {
		case R.id.nowe_wojewodztwo:
			startActivity(new Intent(this,Wojewodztwa.class));
			return true;
		}
		return false;
	}

	@Override
	protected void onListItemClick(ListView l, View v, int position, long id) {
		// TODO Auto-generated method stub
		//super.onListItemClick(l, v, position, id);
		HashMap<String,String> item = (HashMap<String, String>) l.getItemAtPosition(position);
		Intent i = new Intent(this,Wojewodztwa.class);
		i.putExtra(WOJEWODZTWO_ID, item.get(WOJEWODZTWO_ID));
		Log.d("ListaTest:onListItemn",item.get(WOJEWODZTWO_NAZWA));
		startActivity(i);
	}
    
    private void itemMap() {
    	Iterator<Wojewodztwo> iterator = listaWojewodztwo.iterator();
    	Wojewodztwo w;
    	while (iterator.hasNext()) {
    		w = iterator.next();
    		Log.d("ListTest:itemMap", w.getNazwa());
    		HashMap<String,String> item = new HashMap<String,String>();
    		item.put(WOJEWODZTWO_ID, new Integer(w.getId()).toString());
    		item.put(WOJEWODZTWO_NAZWA, w.getNazwa());
    		lista.add(item);
    		wojewodztwoListAdapter.notifyDataSetChanged();
    		
    	}
    	
    }
	
	
}
